#include "Phong.h"

Couleur Phong::calcul(Intersection & intersect, Lumiere* lumiere, Point &observateur){
	Couleur couleurFinale = Couleur();
	// vecteur lumiere
	Vecteur l (intersect.getPoint(), lumiere->getPoint());
	l.normaliser();
	// vecteur vue
	Vecteur V(intersect.getPoint(), observateur);
	V.normaliser();
	// vecteur half
	Vecteur h = (l + V);
	h.normaliser();
	// couleur finale
	couleurFinale += (lumiere->getCouleur() * (couleurD * kd * intersect.getNormale().prodScal(l) 
		+ couleurS * ks * pow(intersect.getNormale().prodScal(h), n)));

	return couleurFinale;
}
